<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>set_structured_light_model_param [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_inspection.html">Inspection</a> / <a href="toc_inspection_structuredlight.html">Structured Light</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">set_structured_light_model_param</span><span data-if="c" style="display:none;">T_set_structured_light_model_param</span><span data-if="cpp" style="display:none;">SetStructuredLightModelParam</span><span data-if="dotnet" style="display:none;">SetStructuredLightModelParam</span><span data-if="python" style="display:none;">set_structured_light_model_param</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">set_structured_light_model_param</span><span data-if="c" style="display:none;">T_set_structured_light_model_param</span><span data-if="cpp" style="display:none;">SetStructuredLightModelParam</span><span data-if="dotnet" style="display:none;">SetStructuredLightModelParam</span><span data-if="python" style="display:none;">set_structured_light_model_param</span></code> — Set parameters of a structured light model.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>set_structured_light_model_param</b>( :  : <a href="#StructuredLightModel"><i>StructuredLightModel</i></a>, <a href="#GenParamName"><i>GenParamName</i></a>, <a href="#GenParamValue"><i>GenParamValue</i></a> : )</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_set_structured_light_model_param</b>(const Htuple <a href="#StructuredLightModel"><i>StructuredLightModel</i></a>, const Htuple <a href="#GenParamName"><i>GenParamName</i></a>, const Htuple <a href="#GenParamValue"><i>GenParamValue</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>SetStructuredLightModelParam</b>(const HTuple&amp; <a href="#StructuredLightModel"><i>StructuredLightModel</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>)</code></p>
<p>
<code>void <a href="HStructuredLightModel.html">HStructuredLightModel</a>::<b>SetStructuredLightModelParam</b>(const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>) const</code></p>
<p>
<code>void <a href="HStructuredLightModel.html">HStructuredLightModel</a>::<b>SetStructuredLightModelParam</b>(const HString&amp; <a href="#GenParamName"><i>GenParamName</i></a>, Hlong <a href="#GenParamValue"><i>GenParamValue</i></a>) const</code></p>
<p>
<code>void <a href="HStructuredLightModel.html">HStructuredLightModel</a>::<b>SetStructuredLightModelParam</b>(const char* <a href="#GenParamName"><i>GenParamName</i></a>, Hlong <a href="#GenParamValue"><i>GenParamValue</i></a>) const</code></p>
<p>
<code>void <a href="HStructuredLightModel.html">HStructuredLightModel</a>::<b>SetStructuredLightModelParam</b>(const wchar_t* <a href="#GenParamName"><i>GenParamName</i></a>, Hlong <a href="#GenParamValue"><i>GenParamValue</i></a>) const  <span class="signnote">
            (
            Windows only)
          </span></code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>SetStructuredLightModelParam</b>(<a href="HTuple.html">HTuple</a> <a href="#StructuredLightModel"><i>structuredLightModel</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>)</code></p>
<p>
<code>void <a href="HStructuredLightModel.html">HStructuredLightModel</a>.<b>SetStructuredLightModelParam</b>(<a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>)</code></p>
<p>
<code>void <a href="HStructuredLightModel.html">HStructuredLightModel</a>.<b>SetStructuredLightModelParam</b>(string <a href="#GenParamName"><i>genParamName</i></a>, int <a href="#GenParamValue"><i>genParamValue</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>set_structured_light_model_param</b>(<a href="#StructuredLightModel"><i>structured_light_model</i></a>: HHandle, <a href="#GenParamName"><i>gen_param_name</i></a>: MaybeSequence[str], <a href="#GenParamValue"><i>gen_param_value</i></a>: MaybeSequence[Union[int, float, str]]) -&gt; None</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">set_structured_light_model_param</span><span data-if="c" style="display:none">set_structured_light_model_param</span><span data-if="cpp" style="display:none">SetStructuredLightModelParam</span><span data-if="com" style="display:none">SetStructuredLightModelParam</span><span data-if="dotnet" style="display:none">SetStructuredLightModelParam</span><span data-if="python" style="display:none">set_structured_light_model_param</span></code> is used to
manipulate the parameters of a structured light model
<a href="#StructuredLightModel"><i><code><span data-if="hdevelop" style="display:inline">StructuredLightModel</span><span data-if="c" style="display:none">StructuredLightModel</span><span data-if="cpp" style="display:none">StructuredLightModel</span><span data-if="com" style="display:none">StructuredLightModel</span><span data-if="dotnet" style="display:none">structuredLightModel</span><span data-if="python" style="display:none">structured_light_model</span></code></i></a>. The current parameter settings
can be queried with 该算子 <a href="get_structured_light_model_param.html"><code><span data-if="hdevelop" style="display:inline">get_structured_light_model_param</span><span data-if="c" style="display:none">get_structured_light_model_param</span><span data-if="cpp" style="display:none">GetStructuredLightModelParam</span><span data-if="com" style="display:none">GetStructuredLightModelParam</span><span data-if="dotnet" style="display:none">GetStructuredLightModelParam</span><span data-if="python" style="display:none">get_structured_light_model_param</span></code></a>.
</p>
<p>For an explanation of the concept of structured light and its supported
applications, see the introduction of chapter
<a href="toc_inspection_structuredlight.html">Inspection / Structured Light</a>.
</p>
<p><b>General parameters:</b>
</p>
<dl class="generic">

<dt><b><i><span data-if="hdevelop" style="display:inline">'persistence'</span><span data-if="c" style="display:none">"persistence"</span><span data-if="cpp" style="display:none">"persistence"</span><span data-if="com" style="display:none">"persistence"</span><span data-if="dotnet" style="display:none">"persistence"</span><span data-if="python" style="display:none">"persistence"</span></i>:</b></dt>
<dd>
<p>
 Enables
(<a href="#GenParamValue"><i><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></i></a>=<i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i>) or disables
(<a href="#GenParamValue"><i><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></i></a>=<i><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span></i>) the <i><span data-if="hdevelop" style="display:inline">'persistence'</span><span data-if="c" style="display:none">"persistence"</span><span data-if="cpp" style="display:none">"persistence"</span><span data-if="com" style="display:none">"persistence"</span><span data-if="dotnet" style="display:none">"persistence"</span><span data-if="python" style="display:none">"persistence"</span></i>
mode of the structured light model. When in persistence mode, the model
stores intermediate results of the decoding, which can be inspected
later by <a href="get_structured_light_object.html"><code><span data-if="hdevelop" style="display:inline">get_structured_light_object</span><span data-if="c" style="display:none">get_structured_light_object</span><span data-if="cpp" style="display:none">GetStructuredLightObject</span><span data-if="com" style="display:none">GetStructuredLightObject</span><span data-if="dotnet" style="display:none">GetStructuredLightObject</span><span data-if="python" style="display:none">get_structured_light_object</span></code></a>.
</p>
<p>Note that the model might need significant memory space in this mode.
Therefore, we recommend to enable this mode only during the setup and
for debugging a structured light model setup.
</p>
<p>If <i><span data-if="hdevelop" style="display:inline">'persistence'</span><span data-if="c" style="display:none">"persistence"</span><span data-if="cpp" style="display:none">"persistence"</span><span data-if="com" style="display:none">"persistence"</span><span data-if="dotnet" style="display:none">"persistence"</span><span data-if="python" style="display:none">"persistence"</span></i> is changed, all results of the
model are cleared.
</p>
<p><i>Values:</i> <i><span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></i>, <i><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span></i>, 1, 0
</p>
<p><i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span></i>
</p>
</dd>
</dl>
<p>
<b>Parameters which influence the appearance of the generated
        pattern images:</b>
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'pattern_width'</span><span data-if="c" style="display:none">"pattern_width"</span><span data-if="cpp" style="display:none">"pattern_width"</span><span data-if="com" style="display:none">"pattern_width"</span><span data-if="dotnet" style="display:none">"pattern_width"</span><span data-if="python" style="display:none">"pattern_width"</span></i>:</b></dt>
<dd>
<p>
 Sets the width of the pattern images
that are generated while calling <a href="gen_structured_light_pattern.html"><code><span data-if="hdevelop" style="display:inline">gen_structured_light_pattern</span><span data-if="c" style="display:none">gen_structured_light_pattern</span><span data-if="cpp" style="display:none">GenStructuredLightPattern</span><span data-if="com" style="display:none">GenStructuredLightPattern</span><span data-if="dotnet" style="display:none">GenStructuredLightPattern</span><span data-if="python" style="display:none">gen_structured_light_pattern</span></code></a>.
Usually, the value should be set to the width of the monitor that is
used to display the pattern images.
</p>
<p>The value of <i><span data-if="hdevelop" style="display:inline">'pattern_width'</span><span data-if="c" style="display:none">"pattern_width"</span><span data-if="cpp" style="display:none">"pattern_width"</span><span data-if="com" style="display:none">"pattern_width"</span><span data-if="dotnet" style="display:none">"pattern_width"</span><span data-if="python" style="display:none">"pattern_width"</span></i> has to be larger than
the value <i><span data-if="hdevelop" style="display:inline">'min_stripe_width'</span><span data-if="c" style="display:none">"min_stripe_width"</span><span data-if="cpp" style="display:none">"min_stripe_width"</span><span data-if="com" style="display:none">"min_stripe_width"</span><span data-if="dotnet" style="display:none">"min_stripe_width"</span><span data-if="python" style="display:none">"min_stripe_width"</span></i>/2.
In case that <i><span data-if="hdevelop" style="display:inline">'pattern_type'</span><span data-if="c" style="display:none">"pattern_type"</span><span data-if="cpp" style="display:none">"pattern_type"</span><span data-if="com" style="display:none">"pattern_type"</span><span data-if="dotnet" style="display:none">"pattern_type"</span><span data-if="python" style="display:none">"pattern_type"</span></i> is <i><span data-if="hdevelop" style="display:inline">'single_stripe'</span><span data-if="c" style="display:none">"single_stripe"</span><span data-if="cpp" style="display:none">"single_stripe"</span><span data-if="com" style="display:none">"single_stripe"</span><span data-if="dotnet" style="display:none">"single_stripe"</span><span data-if="python" style="display:none">"single_stripe"</span></i>,
it also has to be larger than <i><span data-if="hdevelop" style="display:inline">'single_stripe_width'</span><span data-if="c" style="display:none">"single_stripe_width"</span><span data-if="cpp" style="display:none">"single_stripe_width"</span><span data-if="com" style="display:none">"single_stripe_width"</span><span data-if="dotnet" style="display:none">"single_stripe_width"</span><span data-if="python" style="display:none">"single_stripe_width"</span></i>/2.
</p>
<p>If <i><span data-if="hdevelop" style="display:inline">'pattern_width'</span><span data-if="c" style="display:none">"pattern_width"</span><span data-if="cpp" style="display:none">"pattern_width"</span><span data-if="com" style="display:none">"pattern_width"</span><span data-if="dotnet" style="display:none">"pattern_width"</span><span data-if="python" style="display:none">"pattern_width"</span></i> is changed, the model is not decodable
anymore and all possibly available results are cleared.
Therefore, <a href="gen_structured_light_pattern.html"><code><span data-if="hdevelop" style="display:inline">gen_structured_light_pattern</span><span data-if="c" style="display:none">gen_structured_light_pattern</span><span data-if="cpp" style="display:none">GenStructuredLightPattern</span><span data-if="com" style="display:none">GenStructuredLightPattern</span><span data-if="dotnet" style="display:none">GenStructuredLightPattern</span><span data-if="python" style="display:none">gen_structured_light_pattern</span></code></a> has to be called before
decoding the model using <a href="decode_structured_light_pattern.html"><code><span data-if="hdevelop" style="display:inline">decode_structured_light_pattern</span><span data-if="c" style="display:none">decode_structured_light_pattern</span><span data-if="cpp" style="display:none">DecodeStructuredLightPattern</span><span data-if="com" style="display:none">DecodeStructuredLightPattern</span><span data-if="dotnet" style="display:none">DecodeStructuredLightPattern</span><span data-if="python" style="display:none">decode_structured_light_pattern</span></code></a>.
</p>
<p><i>Values:</i> integer values larger or equal to 1
</p>
<p><i>Default:</i> 1024
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'pattern_height'</span><span data-if="c" style="display:none">"pattern_height"</span><span data-if="cpp" style="display:none">"pattern_height"</span><span data-if="com" style="display:none">"pattern_height"</span><span data-if="dotnet" style="display:none">"pattern_height"</span><span data-if="python" style="display:none">"pattern_height"</span></i>:</b></dt>
<dd>
<p>
 Sets the height of the pattern images
that are generated while calling <a href="gen_structured_light_pattern.html"><code><span data-if="hdevelop" style="display:inline">gen_structured_light_pattern</span><span data-if="c" style="display:none">gen_structured_light_pattern</span><span data-if="cpp" style="display:none">GenStructuredLightPattern</span><span data-if="com" style="display:none">GenStructuredLightPattern</span><span data-if="dotnet" style="display:none">GenStructuredLightPattern</span><span data-if="python" style="display:none">gen_structured_light_pattern</span></code></a>.
Usually, the value should be set to the height of the monitor that is
used to display the pattern images.
</p>
<p>The value of <i><span data-if="hdevelop" style="display:inline">'pattern_height'</span><span data-if="c" style="display:none">"pattern_height"</span><span data-if="cpp" style="display:none">"pattern_height"</span><span data-if="com" style="display:none">"pattern_height"</span><span data-if="dotnet" style="display:none">"pattern_height"</span><span data-if="python" style="display:none">"pattern_height"</span></i> has to be larger than
the value <i><span data-if="hdevelop" style="display:inline">'min_stripe_width'</span><span data-if="c" style="display:none">"min_stripe_width"</span><span data-if="cpp" style="display:none">"min_stripe_width"</span><span data-if="com" style="display:none">"min_stripe_width"</span><span data-if="dotnet" style="display:none">"min_stripe_width"</span><span data-if="python" style="display:none">"min_stripe_width"</span></i>/2.
In case that <i><span data-if="hdevelop" style="display:inline">'pattern_type'</span><span data-if="c" style="display:none">"pattern_type"</span><span data-if="cpp" style="display:none">"pattern_type"</span><span data-if="com" style="display:none">"pattern_type"</span><span data-if="dotnet" style="display:none">"pattern_type"</span><span data-if="python" style="display:none">"pattern_type"</span></i> is <i><span data-if="hdevelop" style="display:inline">'single_stripe'</span><span data-if="c" style="display:none">"single_stripe"</span><span data-if="cpp" style="display:none">"single_stripe"</span><span data-if="com" style="display:none">"single_stripe"</span><span data-if="dotnet" style="display:none">"single_stripe"</span><span data-if="python" style="display:none">"single_stripe"</span></i>,
it also has to be larger than <i><span data-if="hdevelop" style="display:inline">'single_stripe_width'</span><span data-if="c" style="display:none">"single_stripe_width"</span><span data-if="cpp" style="display:none">"single_stripe_width"</span><span data-if="com" style="display:none">"single_stripe_width"</span><span data-if="dotnet" style="display:none">"single_stripe_width"</span><span data-if="python" style="display:none">"single_stripe_width"</span></i>/2.
</p>
<p>If <i><span data-if="hdevelop" style="display:inline">'pattern_height'</span><span data-if="c" style="display:none">"pattern_height"</span><span data-if="cpp" style="display:none">"pattern_height"</span><span data-if="com" style="display:none">"pattern_height"</span><span data-if="dotnet" style="display:none">"pattern_height"</span><span data-if="python" style="display:none">"pattern_height"</span></i> is changed, the model is not decodable
anymore and all possibly available results are cleared.
Therefore, <a href="gen_structured_light_pattern.html"><code><span data-if="hdevelop" style="display:inline">gen_structured_light_pattern</span><span data-if="c" style="display:none">gen_structured_light_pattern</span><span data-if="cpp" style="display:none">GenStructuredLightPattern</span><span data-if="com" style="display:none">GenStructuredLightPattern</span><span data-if="dotnet" style="display:none">GenStructuredLightPattern</span><span data-if="python" style="display:none">gen_structured_light_pattern</span></code></a> has to be called before
decoding the model using <a href="decode_structured_light_pattern.html"><code><span data-if="hdevelop" style="display:inline">decode_structured_light_pattern</span><span data-if="c" style="display:none">decode_structured_light_pattern</span><span data-if="cpp" style="display:none">DecodeStructuredLightPattern</span><span data-if="com" style="display:none">DecodeStructuredLightPattern</span><span data-if="dotnet" style="display:none">DecodeStructuredLightPattern</span><span data-if="python" style="display:none">decode_structured_light_pattern</span></code></a>.
</p>
<p><i>Values:</i> integer values larger or equal to 1
</p>
<p><i>Default:</i> 1024
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'min_stripe_width'</span><span data-if="c" style="display:none">"min_stripe_width"</span><span data-if="cpp" style="display:none">"min_stripe_width"</span><span data-if="com" style="display:none">"min_stripe_width"</span><span data-if="dotnet" style="display:none">"min_stripe_width"</span><span data-if="python" style="display:none">"min_stripe_width"</span></i>:</b></dt>
<dd>
<p>
 Sets the width (in pixels) of the
finest stripe of the pattern images that are generated while calling
<a href="gen_structured_light_pattern.html"><code><span data-if="hdevelop" style="display:inline">gen_structured_light_pattern</span><span data-if="c" style="display:none">gen_structured_light_pattern</span><span data-if="cpp" style="display:none">GenStructuredLightPattern</span><span data-if="com" style="display:none">GenStructuredLightPattern</span><span data-if="dotnet" style="display:none">GenStructuredLightPattern</span><span data-if="python" style="display:none">gen_structured_light_pattern</span></code></a>.
</p>
<p>The value has to be a power of two. Furthermore, it has to be
smaller or equal the minimum of the parameters
<i><span data-if="hdevelop" style="display:inline">'pattern_width'</span><span data-if="c" style="display:none">"pattern_width"</span><span data-if="cpp" style="display:none">"pattern_width"</span><span data-if="com" style="display:none">"pattern_width"</span><span data-if="dotnet" style="display:none">"pattern_width"</span><span data-if="python" style="display:none">"pattern_width"</span></i> and <i><span data-if="hdevelop" style="display:inline">'pattern_height'</span><span data-if="c" style="display:none">"pattern_height"</span><span data-if="cpp" style="display:none">"pattern_height"</span><span data-if="com" style="display:none">"pattern_height"</span><span data-if="dotnet" style="display:none">"pattern_height"</span><span data-if="python" style="display:none">"pattern_height"</span></i>
after rounding both up to their next power of two.
In case that <i><span data-if="hdevelop" style="display:inline">'pattern_type'</span><span data-if="c" style="display:none">"pattern_type"</span><span data-if="cpp" style="display:none">"pattern_type"</span><span data-if="com" style="display:none">"pattern_type"</span><span data-if="dotnet" style="display:none">"pattern_type"</span><span data-if="python" style="display:none">"pattern_type"</span></i> is <i><span data-if="hdevelop" style="display:inline">'single_stripe'</span><span data-if="c" style="display:none">"single_stripe"</span><span data-if="cpp" style="display:none">"single_stripe"</span><span data-if="com" style="display:none">"single_stripe"</span><span data-if="dotnet" style="display:none">"single_stripe"</span><span data-if="python" style="display:none">"single_stripe"</span></i>,
it also has to be smaller or equal the <i><span data-if="hdevelop" style="display:inline">'single_stripe_width'</span><span data-if="c" style="display:none">"single_stripe_width"</span><span data-if="cpp" style="display:none">"single_stripe_width"</span><span data-if="com" style="display:none">"single_stripe_width"</span><span data-if="dotnet" style="display:none">"single_stripe_width"</span><span data-if="python" style="display:none">"single_stripe_width"</span></i>.
</p>
<p>If <i><span data-if="hdevelop" style="display:inline">'min_stripe_width'</span><span data-if="c" style="display:none">"min_stripe_width"</span><span data-if="cpp" style="display:none">"min_stripe_width"</span><span data-if="com" style="display:none">"min_stripe_width"</span><span data-if="dotnet" style="display:none">"min_stripe_width"</span><span data-if="python" style="display:none">"min_stripe_width"</span></i> is changed, the model is not decodable
anymore and all possibly available results are cleared.
Therefore, <a href="gen_structured_light_pattern.html"><code><span data-if="hdevelop" style="display:inline">gen_structured_light_pattern</span><span data-if="c" style="display:none">gen_structured_light_pattern</span><span data-if="cpp" style="display:none">GenStructuredLightPattern</span><span data-if="com" style="display:none">GenStructuredLightPattern</span><span data-if="dotnet" style="display:none">GenStructuredLightPattern</span><span data-if="python" style="display:none">gen_structured_light_pattern</span></code></a> has to be called before
decoding the model using <a href="decode_structured_light_pattern.html"><code><span data-if="hdevelop" style="display:inline">decode_structured_light_pattern</span><span data-if="c" style="display:none">decode_structured_light_pattern</span><span data-if="cpp" style="display:none">DecodeStructuredLightPattern</span><span data-if="com" style="display:none">DecodeStructuredLightPattern</span><span data-if="dotnet" style="display:none">DecodeStructuredLightPattern</span><span data-if="python" style="display:none">decode_structured_light_pattern</span></code></a>.
</p>
<p><i>Values:</i> integer values larger or equal to 4 and a power of 2
</p>
<p><i>Default:</i> 32
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'normalization'</span><span data-if="c" style="display:none">"normalization"</span><span data-if="cpp" style="display:none">"normalization"</span><span data-if="com" style="display:none">"normalization"</span><span data-if="dotnet" style="display:none">"normalization"</span><span data-if="python" style="display:none">"normalization"</span></i>:</b></dt>
<dd>
<p>
 Sets the normalization mode of the
structured light model. If the parameter is set to <i><span data-if="hdevelop" style="display:inline">'global'</span><span data-if="c" style="display:none">"global"</span><span data-if="cpp" style="display:none">"global"</span><span data-if="com" style="display:none">"global"</span><span data-if="dotnet" style="display:none">"global"</span><span data-if="python" style="display:none">"global"</span></i>,
<a href="gen_structured_light_pattern.html"><code><span data-if="hdevelop" style="display:inline">gen_structured_light_pattern</span><span data-if="c" style="display:none">gen_structured_light_pattern</span><span data-if="cpp" style="display:none">GenStructuredLightPattern</span><span data-if="com" style="display:none">GenStructuredLightPattern</span><span data-if="dotnet" style="display:none">GenStructuredLightPattern</span><span data-if="python" style="display:none">gen_structured_light_pattern</span></code></a> generates two additional pattern
images composed of a black and a white image. These images are then used
in the decoding process to determine the actual pattern region.
If instead, the value <i><span data-if="hdevelop" style="display:inline">'inverted_pattern'</span><span data-if="c" style="display:none">"inverted_pattern"</span><span data-if="cpp" style="display:none">"inverted_pattern"</span><span data-if="com" style="display:none">"inverted_pattern"</span><span data-if="dotnet" style="display:none">"inverted_pattern"</span><span data-if="python" style="display:none">"inverted_pattern"</span></i> is chosen, each Gray
code image is additionally inverted and the pattern region is segmented
iteratively using the Gray code images and their inverted version.
</p>
<p>If <i><span data-if="hdevelop" style="display:inline">'normalization'</span><span data-if="c" style="display:none">"normalization"</span><span data-if="cpp" style="display:none">"normalization"</span><span data-if="com" style="display:none">"normalization"</span><span data-if="dotnet" style="display:none">"normalization"</span><span data-if="python" style="display:none">"normalization"</span></i> is changed, the model is not decodable
anymore and all possibly available results are cleared.
Therefore, <a href="gen_structured_light_pattern.html"><code><span data-if="hdevelop" style="display:inline">gen_structured_light_pattern</span><span data-if="c" style="display:none">gen_structured_light_pattern</span><span data-if="cpp" style="display:none">GenStructuredLightPattern</span><span data-if="com" style="display:none">GenStructuredLightPattern</span><span data-if="dotnet" style="display:none">GenStructuredLightPattern</span><span data-if="python" style="display:none">gen_structured_light_pattern</span></code></a> has to be called before
decoding the model using <a href="decode_structured_light_pattern.html"><code><span data-if="hdevelop" style="display:inline">decode_structured_light_pattern</span><span data-if="c" style="display:none">decode_structured_light_pattern</span><span data-if="cpp" style="display:none">DecodeStructuredLightPattern</span><span data-if="com" style="display:none">DecodeStructuredLightPattern</span><span data-if="dotnet" style="display:none">DecodeStructuredLightPattern</span><span data-if="python" style="display:none">decode_structured_light_pattern</span></code></a>.
</p>
<p><i>Values:</i> <i><span data-if="hdevelop" style="display:inline">'global'</span><span data-if="c" style="display:none">"global"</span><span data-if="cpp" style="display:none">"global"</span><span data-if="com" style="display:none">"global"</span><span data-if="dotnet" style="display:none">"global"</span><span data-if="python" style="display:none">"global"</span></i>, <i><span data-if="hdevelop" style="display:inline">'inverted_pattern'</span><span data-if="c" style="display:none">"inverted_pattern"</span><span data-if="cpp" style="display:none">"inverted_pattern"</span><span data-if="com" style="display:none">"inverted_pattern"</span><span data-if="dotnet" style="display:none">"inverted_pattern"</span><span data-if="python" style="display:none">"inverted_pattern"</span></i>
</p>
<p><i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'global'</span><span data-if="c" style="display:none">"global"</span><span data-if="cpp" style="display:none">"global"</span><span data-if="com" style="display:none">"global"</span><span data-if="dotnet" style="display:none">"global"</span><span data-if="python" style="display:none">"global"</span></i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'pattern_orientation'</span><span data-if="c" style="display:none">"pattern_orientation"</span><span data-if="cpp" style="display:none">"pattern_orientation"</span><span data-if="com" style="display:none">"pattern_orientation"</span><span data-if="dotnet" style="display:none">"pattern_orientation"</span><span data-if="python" style="display:none">"pattern_orientation"</span></i>:</b></dt>
<dd>
<p>
 Sets the orientation of the
pattern images that are generated while calling
<a href="gen_structured_light_pattern.html"><code><span data-if="hdevelop" style="display:inline">gen_structured_light_pattern</span><span data-if="c" style="display:none">gen_structured_light_pattern</span><span data-if="cpp" style="display:none">GenStructuredLightPattern</span><span data-if="com" style="display:none">GenStructuredLightPattern</span><span data-if="dotnet" style="display:none">GenStructuredLightPattern</span><span data-if="python" style="display:none">gen_structured_light_pattern</span></code></a>. If the parameter is set to
<i><span data-if="hdevelop" style="display:inline">'both'</span><span data-if="c" style="display:none">"both"</span><span data-if="cpp" style="display:none">"both"</span><span data-if="com" style="display:none">"both"</span><span data-if="dotnet" style="display:none">"both"</span><span data-if="python" style="display:none">"both"</span></i>, pattern images with vertical stripes as well as
pattern images with horizontal stripes are created.
For <i><span data-if="hdevelop" style="display:inline">'vertical'</span><span data-if="c" style="display:none">"vertical"</span><span data-if="cpp" style="display:none">"vertical"</span><span data-if="com" style="display:none">"vertical"</span><span data-if="dotnet" style="display:none">"vertical"</span><span data-if="python" style="display:none">"vertical"</span></i> the pattern images consist of vertical stripes
only, whereas for <i><span data-if="hdevelop" style="display:inline">'horizontal'</span><span data-if="c" style="display:none">"horizontal"</span><span data-if="cpp" style="display:none">"horizontal"</span><span data-if="com" style="display:none">"horizontal"</span><span data-if="dotnet" style="display:none">"horizontal"</span><span data-if="python" style="display:none">"horizontal"</span></i> only horizontal stripes are
generated.
</p>
<p>If <i><span data-if="hdevelop" style="display:inline">'pattern_orientation'</span><span data-if="c" style="display:none">"pattern_orientation"</span><span data-if="cpp" style="display:none">"pattern_orientation"</span><span data-if="com" style="display:none">"pattern_orientation"</span><span data-if="dotnet" style="display:none">"pattern_orientation"</span><span data-if="python" style="display:none">"pattern_orientation"</span></i> is changed, the model is not decodable
anymore and all possibly available results are cleared.
Therefore, <a href="gen_structured_light_pattern.html"><code><span data-if="hdevelop" style="display:inline">gen_structured_light_pattern</span><span data-if="c" style="display:none">gen_structured_light_pattern</span><span data-if="cpp" style="display:none">GenStructuredLightPattern</span><span data-if="com" style="display:none">GenStructuredLightPattern</span><span data-if="dotnet" style="display:none">GenStructuredLightPattern</span><span data-if="python" style="display:none">gen_structured_light_pattern</span></code></a> has to be called before
decoding the model using <a href="decode_structured_light_pattern.html"><code><span data-if="hdevelop" style="display:inline">decode_structured_light_pattern</span><span data-if="c" style="display:none">decode_structured_light_pattern</span><span data-if="cpp" style="display:none">DecodeStructuredLightPattern</span><span data-if="com" style="display:none">DecodeStructuredLightPattern</span><span data-if="dotnet" style="display:none">DecodeStructuredLightPattern</span><span data-if="python" style="display:none">decode_structured_light_pattern</span></code></a>.
</p>
<p><i>Values:</i> <i><span data-if="hdevelop" style="display:inline">'both'</span><span data-if="c" style="display:none">"both"</span><span data-if="cpp" style="display:none">"both"</span><span data-if="com" style="display:none">"both"</span><span data-if="dotnet" style="display:none">"both"</span><span data-if="python" style="display:none">"both"</span></i>, <i><span data-if="hdevelop" style="display:inline">'vertical'</span><span data-if="c" style="display:none">"vertical"</span><span data-if="cpp" style="display:none">"vertical"</span><span data-if="com" style="display:none">"vertical"</span><span data-if="dotnet" style="display:none">"vertical"</span><span data-if="python" style="display:none">"vertical"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'horizontal'</span><span data-if="c" style="display:none">"horizontal"</span><span data-if="cpp" style="display:none">"horizontal"</span><span data-if="com" style="display:none">"horizontal"</span><span data-if="dotnet" style="display:none">"horizontal"</span><span data-if="python" style="display:none">"horizontal"</span></i>
</p>
<p><i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'both'</span><span data-if="c" style="display:none">"both"</span><span data-if="cpp" style="display:none">"both"</span><span data-if="com" style="display:none">"both"</span><span data-if="dotnet" style="display:none">"both"</span><span data-if="python" style="display:none">"both"</span></i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'pattern_type'</span><span data-if="c" style="display:none">"pattern_type"</span><span data-if="cpp" style="display:none">"pattern_type"</span><span data-if="com" style="display:none">"pattern_type"</span><span data-if="dotnet" style="display:none">"pattern_type"</span><span data-if="python" style="display:none">"pattern_type"</span></i>:</b></dt>
<dd>
<p>
 Sets the type of the pattern images that
are generated while calling <a href="gen_structured_light_pattern.html"><code><span data-if="hdevelop" style="display:inline">gen_structured_light_pattern</span><span data-if="c" style="display:none">gen_structured_light_pattern</span><span data-if="cpp" style="display:none">GenStructuredLightPattern</span><span data-if="com" style="display:none">GenStructuredLightPattern</span><span data-if="dotnet" style="display:none">GenStructuredLightPattern</span><span data-if="python" style="display:none">gen_structured_light_pattern</span></code></a>.
</p>
<div style="text-align:center"><table style="width:100%;margin-left:auto;margin-right:auto" class="grid">
<col span="1" style="width:30%;">
<col span="1" style="width:70%;">
<tr>
<td style="text-align:left">
<b>'pattern_type'</b>  </td>
<td style="text-align:left"> <b>Generated Images</b> </td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'gray_code'</span><span data-if="c" style="display:none">"gray_code"</span><span data-if="cpp" style="display:none">"gray_code"</span><span data-if="com" style="display:none">"gray_code"</span><span data-if="dotnet" style="display:none">"gray_code"</span><span data-if="python" style="display:none">"gray_code"</span></i> </td>
<td style="text-align:left"> Gray code images </td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'gray_code_and_phase_shift'</span><span data-if="c" style="display:none">"gray_code_and_phase_shift"</span><span data-if="cpp" style="display:none">"gray_code_and_phase_shift"</span><span data-if="com" style="display:none">"gray_code_and_phase_shift"</span><span data-if="dotnet" style="display:none">"gray_code_and_phase_shift"</span><span data-if="python" style="display:none">"gray_code_and_phase_shift"</span></i> </td>
<td style="text-align:left"> Gray code images and phase shift images </td>
</tr>
<tr>
<td style="text-align:left">
<i><span data-if="hdevelop" style="display:inline">'single_stripe'</span><span data-if="c" style="display:none">"single_stripe"</span><span data-if="cpp" style="display:none">"single_stripe"</span><span data-if="com" style="display:none">"single_stripe"</span><span data-if="dotnet" style="display:none">"single_stripe"</span><span data-if="python" style="display:none">"single_stripe"</span></i> </td>
<td style="text-align:left"> Single stripe images, Gray code images and phase shift images
</td>
</tr>
</table></div>

<p>Usually, <i><span data-if="hdevelop" style="display:inline">'gray_code_and_phase_shift'</span><span data-if="c" style="display:none">"gray_code_and_phase_shift"</span><span data-if="cpp" style="display:none">"gray_code_and_phase_shift"</span><span data-if="com" style="display:none">"gray_code_and_phase_shift"</span><span data-if="dotnet" style="display:none">"gray_code_and_phase_shift"</span><span data-if="python" style="display:none">"gray_code_and_phase_shift"</span></i> leads to more accurate
results than <i><span data-if="hdevelop" style="display:inline">'gray_code'</span><span data-if="c" style="display:none">"gray_code"</span><span data-if="cpp" style="display:none">"gray_code"</span><span data-if="com" style="display:none">"gray_code"</span><span data-if="dotnet" style="display:none">"gray_code"</span><span data-if="python" style="display:none">"gray_code"</span></i> because the combination between Gray
code and phase images yields sub-pixel precise monitor coordinates.
<i><span data-if="hdevelop" style="display:inline">'single_stripe'</span><span data-if="c" style="display:none">"single_stripe"</span><span data-if="cpp" style="display:none">"single_stripe"</span><span data-if="com" style="display:none">"single_stripe"</span><span data-if="dotnet" style="display:none">"single_stripe"</span><span data-if="python" style="display:none">"single_stripe"</span></i> can increase robustness in case of only
partially specular surfaces.
</p>
<p>If <i><span data-if="hdevelop" style="display:inline">'pattern_type'</span><span data-if="c" style="display:none">"pattern_type"</span><span data-if="cpp" style="display:none">"pattern_type"</span><span data-if="com" style="display:none">"pattern_type"</span><span data-if="dotnet" style="display:none">"pattern_type"</span><span data-if="python" style="display:none">"pattern_type"</span></i> is changed, the model is not decodable
anymore and all possibly available results are cleared.
Therefore, <a href="gen_structured_light_pattern.html"><code><span data-if="hdevelop" style="display:inline">gen_structured_light_pattern</span><span data-if="c" style="display:none">gen_structured_light_pattern</span><span data-if="cpp" style="display:none">GenStructuredLightPattern</span><span data-if="com" style="display:none">GenStructuredLightPattern</span><span data-if="dotnet" style="display:none">GenStructuredLightPattern</span><span data-if="python" style="display:none">gen_structured_light_pattern</span></code></a> has to be called before
decoding the model using <a href="decode_structured_light_pattern.html"><code><span data-if="hdevelop" style="display:inline">decode_structured_light_pattern</span><span data-if="c" style="display:none">decode_structured_light_pattern</span><span data-if="cpp" style="display:none">DecodeStructuredLightPattern</span><span data-if="com" style="display:none">DecodeStructuredLightPattern</span><span data-if="dotnet" style="display:none">DecodeStructuredLightPattern</span><span data-if="python" style="display:none">decode_structured_light_pattern</span></code></a>.
</p>
<p><i>Values:</i> <i><span data-if="hdevelop" style="display:inline">'gray_code_and_phase_shift'</span><span data-if="c" style="display:none">"gray_code_and_phase_shift"</span><span data-if="cpp" style="display:none">"gray_code_and_phase_shift"</span><span data-if="com" style="display:none">"gray_code_and_phase_shift"</span><span data-if="dotnet" style="display:none">"gray_code_and_phase_shift"</span><span data-if="python" style="display:none">"gray_code_and_phase_shift"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'gray_code'</span><span data-if="c" style="display:none">"gray_code"</span><span data-if="cpp" style="display:none">"gray_code"</span><span data-if="com" style="display:none">"gray_code"</span><span data-if="dotnet" style="display:none">"gray_code"</span><span data-if="python" style="display:none">"gray_code"</span></i>, <i><span data-if="hdevelop" style="display:inline">'single_stripe'</span><span data-if="c" style="display:none">"single_stripe"</span><span data-if="cpp" style="display:none">"single_stripe"</span><span data-if="com" style="display:none">"single_stripe"</span><span data-if="dotnet" style="display:none">"single_stripe"</span><span data-if="python" style="display:none">"single_stripe"</span></i>
</p>
<p><i>Default:</i> <i><span data-if="hdevelop" style="display:inline">'gray_code_and_phase_shift'</span><span data-if="c" style="display:none">"gray_code_and_phase_shift"</span><span data-if="cpp" style="display:none">"gray_code_and_phase_shift"</span><span data-if="com" style="display:none">"gray_code_and_phase_shift"</span><span data-if="dotnet" style="display:none">"gray_code_and_phase_shift"</span><span data-if="python" style="display:none">"gray_code_and_phase_shift"</span></i>
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'single_stripe_width'</span><span data-if="c" style="display:none">"single_stripe_width"</span><span data-if="cpp" style="display:none">"single_stripe_width"</span><span data-if="com" style="display:none">"single_stripe_width"</span><span data-if="dotnet" style="display:none">"single_stripe_width"</span><span data-if="python" style="display:none">"single_stripe_width"</span></i>:</b></dt>
<dd>
<p>
 Sets the width (in pixels) of the
single stripe that is generated while calling
<a href="gen_structured_light_pattern.html"><code><span data-if="hdevelop" style="display:inline">gen_structured_light_pattern</span><span data-if="c" style="display:none">gen_structured_light_pattern</span><span data-if="cpp" style="display:none">GenStructuredLightPattern</span><span data-if="com" style="display:none">GenStructuredLightPattern</span><span data-if="dotnet" style="display:none">GenStructuredLightPattern</span><span data-if="python" style="display:none">gen_structured_light_pattern</span></code></a> using the <i><span data-if="hdevelop" style="display:inline">'pattern_type'</span><span data-if="c" style="display:none">"pattern_type"</span><span data-if="cpp" style="display:none">"pattern_type"</span><span data-if="com" style="display:none">"pattern_type"</span><span data-if="dotnet" style="display:none">"pattern_type"</span><span data-if="python" style="display:none">"pattern_type"</span></i>
<i><span data-if="hdevelop" style="display:inline">'single_stripe'</span><span data-if="c" style="display:none">"single_stripe"</span><span data-if="cpp" style="display:none">"single_stripe"</span><span data-if="com" style="display:none">"single_stripe"</span><span data-if="dotnet" style="display:none">"single_stripe"</span><span data-if="python" style="display:none">"single_stripe"</span></i>.
</p>
<p>The value has to be a power of two and has to be greater or equal
<i><span data-if="hdevelop" style="display:inline">'min_stripe_width'</span><span data-if="c" style="display:none">"min_stripe_width"</span><span data-if="cpp" style="display:none">"min_stripe_width"</span><span data-if="com" style="display:none">"min_stripe_width"</span><span data-if="dotnet" style="display:none">"min_stripe_width"</span><span data-if="python" style="display:none">"min_stripe_width"</span></i>.
Furthermore, it has to be smaller or equal the minimum of the
parameters <i><span data-if="hdevelop" style="display:inline">'pattern_width'</span><span data-if="c" style="display:none">"pattern_width"</span><span data-if="cpp" style="display:none">"pattern_width"</span><span data-if="com" style="display:none">"pattern_width"</span><span data-if="dotnet" style="display:none">"pattern_width"</span><span data-if="python" style="display:none">"pattern_width"</span></i> and <i><span data-if="hdevelop" style="display:inline">'pattern_height'</span><span data-if="c" style="display:none">"pattern_height"</span><span data-if="cpp" style="display:none">"pattern_height"</span><span data-if="com" style="display:none">"pattern_height"</span><span data-if="dotnet" style="display:none">"pattern_height"</span><span data-if="python" style="display:none">"pattern_height"</span></i>
after rounding both up to their next power of two.
</p>
<p>Note that <i><span data-if="hdevelop" style="display:inline">'single_stripe_width'</span><span data-if="c" style="display:none">"single_stripe_width"</span><span data-if="cpp" style="display:none">"single_stripe_width"</span><span data-if="com" style="display:none">"single_stripe_width"</span><span data-if="dotnet" style="display:none">"single_stripe_width"</span><span data-if="python" style="display:none">"single_stripe_width"</span></i> can only be set in case that
<i><span data-if="hdevelop" style="display:inline">'pattern_type'</span><span data-if="c" style="display:none">"pattern_type"</span><span data-if="cpp" style="display:none">"pattern_type"</span><span data-if="com" style="display:none">"pattern_type"</span><span data-if="dotnet" style="display:none">"pattern_type"</span><span data-if="python" style="display:none">"pattern_type"</span></i> is <i><span data-if="hdevelop" style="display:inline">'single_stripe'</span><span data-if="c" style="display:none">"single_stripe"</span><span data-if="cpp" style="display:none">"single_stripe"</span><span data-if="com" style="display:none">"single_stripe"</span><span data-if="dotnet" style="display:none">"single_stripe"</span><span data-if="python" style="display:none">"single_stripe"</span></i>.
When <i><span data-if="hdevelop" style="display:inline">'pattern_type'</span><span data-if="c" style="display:none">"pattern_type"</span><span data-if="cpp" style="display:none">"pattern_type"</span><span data-if="com" style="display:none">"pattern_type"</span><span data-if="dotnet" style="display:none">"pattern_type"</span><span data-if="python" style="display:none">"pattern_type"</span></i> is changed to <i><span data-if="hdevelop" style="display:inline">'single_stripe'</span><span data-if="c" style="display:none">"single_stripe"</span><span data-if="cpp" style="display:none">"single_stripe"</span><span data-if="com" style="display:none">"single_stripe"</span><span data-if="dotnet" style="display:none">"single_stripe"</span><span data-if="python" style="display:none">"single_stripe"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'single_stripe_width'</span><span data-if="c" style="display:none">"single_stripe_width"</span><span data-if="cpp" style="display:none">"single_stripe_width"</span><span data-if="com" style="display:none">"single_stripe_width"</span><span data-if="dotnet" style="display:none">"single_stripe_width"</span><span data-if="python" style="display:none">"single_stripe_width"</span></i> is set to some power of two roughly
halfway between the currently set <i><span data-if="hdevelop" style="display:inline">'min_stripe_width'</span><span data-if="c" style="display:none">"min_stripe_width"</span><span data-if="cpp" style="display:none">"min_stripe_width"</span><span data-if="com" style="display:none">"min_stripe_width"</span><span data-if="dotnet" style="display:none">"min_stripe_width"</span><span data-if="python" style="display:none">"min_stripe_width"</span></i> and
the minimum of <i><span data-if="hdevelop" style="display:inline">'pattern_width'</span><span data-if="c" style="display:none">"pattern_width"</span><span data-if="cpp" style="display:none">"pattern_width"</span><span data-if="com" style="display:none">"pattern_width"</span><span data-if="dotnet" style="display:none">"pattern_width"</span><span data-if="python" style="display:none">"pattern_width"</span></i> and <i><span data-if="hdevelop" style="display:inline">'pattern_height'</span><span data-if="c" style="display:none">"pattern_height"</span><span data-if="cpp" style="display:none">"pattern_height"</span><span data-if="com" style="display:none">"pattern_height"</span><span data-if="dotnet" style="display:none">"pattern_height"</span><span data-if="python" style="display:none">"pattern_height"</span></i>.
</p>
<p>If <i><span data-if="hdevelop" style="display:inline">'single_stripe_width'</span><span data-if="c" style="display:none">"single_stripe_width"</span><span data-if="cpp" style="display:none">"single_stripe_width"</span><span data-if="com" style="display:none">"single_stripe_width"</span><span data-if="dotnet" style="display:none">"single_stripe_width"</span><span data-if="python" style="display:none">"single_stripe_width"</span></i> is changed,
the model is not decodable anymore and all possibly available
results are cleared.
Therefore, <a href="gen_structured_light_pattern.html"><code><span data-if="hdevelop" style="display:inline">gen_structured_light_pattern</span><span data-if="c" style="display:none">gen_structured_light_pattern</span><span data-if="cpp" style="display:none">GenStructuredLightPattern</span><span data-if="com" style="display:none">GenStructuredLightPattern</span><span data-if="dotnet" style="display:none">GenStructuredLightPattern</span><span data-if="python" style="display:none">gen_structured_light_pattern</span></code></a> has to be
called before decoding the model using
<a href="decode_structured_light_pattern.html"><code><span data-if="hdevelop" style="display:inline">decode_structured_light_pattern</span><span data-if="c" style="display:none">decode_structured_light_pattern</span><span data-if="cpp" style="display:none">DecodeStructuredLightPattern</span><span data-if="com" style="display:none">DecodeStructuredLightPattern</span><span data-if="dotnet" style="display:none">DecodeStructuredLightPattern</span><span data-if="python" style="display:none">decode_structured_light_pattern</span></code></a>.
</p>
<p><i>Values:</i> integer values larger or equal to 4 and a power of 2
</p>
<p><i>Default:</i> power of two roughly halfway between the currently
set <i><span data-if="hdevelop" style="display:inline">'min_stripe_width'</span><span data-if="c" style="display:none">"min_stripe_width"</span><span data-if="cpp" style="display:none">"min_stripe_width"</span><span data-if="com" style="display:none">"min_stripe_width"</span><span data-if="dotnet" style="display:none">"min_stripe_width"</span><span data-if="python" style="display:none">"min_stripe_width"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'pattern_width'</span><span data-if="c" style="display:none">"pattern_width"</span><span data-if="cpp" style="display:none">"pattern_width"</span><span data-if="com" style="display:none">"pattern_width"</span><span data-if="dotnet" style="display:none">"pattern_width"</span><span data-if="python" style="display:none">"pattern_width"</span></i>, <i><span data-if="hdevelop" style="display:inline">'pattern_height'</span><span data-if="c" style="display:none">"pattern_height"</span><span data-if="cpp" style="display:none">"pattern_height"</span><span data-if="com" style="display:none">"pattern_height"</span><span data-if="dotnet" style="display:none">"pattern_height"</span><span data-if="python" style="display:none">"pattern_height"</span></i>
</p>
</dd>
</dl>
<p><b>Parameters which influence the segmentation of the pattern region:</b>
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'min_gray_difference'</span><span data-if="c" style="display:none">"min_gray_difference"</span><span data-if="cpp" style="display:none">"min_gray_difference"</span><span data-if="com" style="display:none">"min_gray_difference"</span><span data-if="dotnet" style="display:none">"min_gray_difference"</span><span data-if="python" style="display:none">"min_gray_difference"</span></i>:</b></dt>
<dd>
<p>
 Sets the minimum gray value
difference for the Gray code images. This value is used within
<a href="decode_structured_light_pattern.html"><code><span data-if="hdevelop" style="display:inline">decode_structured_light_pattern</span><span data-if="c" style="display:none">decode_structured_light_pattern</span><span data-if="cpp" style="display:none">DecodeStructuredLightPattern</span><span data-if="com" style="display:none">DecodeStructuredLightPattern</span><span data-if="dotnet" style="display:none">DecodeStructuredLightPattern</span><span data-if="python" style="display:none">decode_structured_light_pattern</span></code></a> to determine the binarized
images.
Thereby, for each pixel of the camera images the gray value difference
between the lighted and the unlighted case is calculated. If the
gray value difference of a pixel is smaller than
<i><span data-if="hdevelop" style="display:inline">'min_gray_difference'</span><span data-if="c" style="display:none">"min_gray_difference"</span><span data-if="cpp" style="display:none">"min_gray_difference"</span><span data-if="com" style="display:none">"min_gray_difference"</span><span data-if="dotnet" style="display:none">"min_gray_difference"</span><span data-if="python" style="display:none">"min_gray_difference"</span></i>, it is excluded from the domain of the
binarized images (see <a href="get_structured_light_object.html"><code><span data-if="hdevelop" style="display:inline">get_structured_light_object</span><span data-if="c" style="display:none">get_structured_light_object</span><span data-if="cpp" style="display:none">GetStructuredLightObject</span><span data-if="com" style="display:none">GetStructuredLightObject</span><span data-if="dotnet" style="display:none">GetStructuredLightObject</span><span data-if="python" style="display:none">get_structured_light_object</span></code></a>) and thus also
from further calculations.
</p>
<p>If <i><span data-if="hdevelop" style="display:inline">'min_gray_difference'</span><span data-if="c" style="display:none">"min_gray_difference"</span><span data-if="cpp" style="display:none">"min_gray_difference"</span><span data-if="com" style="display:none">"min_gray_difference"</span><span data-if="dotnet" style="display:none">"min_gray_difference"</span><span data-if="python" style="display:none">"min_gray_difference"</span></i> is set to the value 0, the segmented
region is identical to the input region of the camera images with the
only exception that pixels with a decoding result outside the pattern
images are excluded.
</p>
<p><i>Values:</i> integer values larger or equal to 0
</p>
<p><i>Default:</i> 30
</p>
</dd>
</dl>
<p><b>Parameters which influence the defect image:</b>
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'derivative_sigma'</span><span data-if="c" style="display:none">"derivative_sigma"</span><span data-if="cpp" style="display:none">"derivative_sigma"</span><span data-if="com" style="display:none">"derivative_sigma"</span><span data-if="dotnet" style="display:none">"derivative_sigma"</span><span data-if="python" style="display:none">"derivative_sigma"</span></i>:</b></dt>
<dd>
<p>
 Sets the sigma of the Gaussian
(i.e. the amount of smoothing) that is used for the convolution of
the correspondence image(s) to calculate the defect image.
</p>
<p><i>Values:</i> float or integer value larger or equal 0.01
</p>
<p><i>Default:</i> 2
</p>
</dd>
</dl>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  <li>未经并行化处理。</li>
</ul>
<p>This operator modifies the state of the following input parameter:</p>
<ul><li><a href="#StructuredLightModel"><span data-if="hdevelop" style="display:inline">StructuredLightModel</span><span data-if="c" style="display:none">StructuredLightModel</span><span data-if="cpp" style="display:none">StructuredLightModel</span><span data-if="com" style="display:none">StructuredLightModel</span><span data-if="dotnet" style="display:none">structuredLightModel</span><span data-if="python" style="display:none">structured_light_model</span></a></li></ul>
<p>During execution of this operator, access to the value of this parameter must be synchronized if it is used across multiple threads.</p>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="StructuredLightModel" class="parname"><b><code><span data-if="hdevelop" style="display:inline">StructuredLightModel</span><span data-if="c" style="display:none">StructuredLightModel</span><span data-if="cpp" style="display:none">StructuredLightModel</span><span data-if="com" style="display:none">StructuredLightModel</span><span data-if="dotnet" style="display:none">structuredLightModel</span><span data-if="python" style="display:none">structured_light_model</span></code></b> (input_control, state is modified)  </span><span>structured_light_model <code>→</code> <span data-if="dotnet" style="display:none"><a href="HStructuredLightModel.html">HStructuredLightModel</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">HHandle</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Handle of the structured light model.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="GenParamName" class="parname"><b><code><span data-if="hdevelop" style="display:inline">GenParamName</span><span data-if="c" style="display:none">GenParamName</span><span data-if="cpp" style="display:none">GenParamName</span><span data-if="com" style="display:none">GenParamName</span><span data-if="dotnet" style="display:none">genParamName</span><span data-if="python" style="display:none">gen_param_name</span></code></b> (input_control)  </span><span>attribute.name(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[str]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Name of the model parameter to be adjusted.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'min_stripe_width'</span>
    <span data-if="c" style="display:none">"min_stripe_width"</span>
    <span data-if="cpp" style="display:none">"min_stripe_width"</span>
    <span data-if="com" style="display:none">"min_stripe_width"</span>
    <span data-if="dotnet" style="display:none">"min_stripe_width"</span>
    <span data-if="python" style="display:none">"min_stripe_width"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'derivative_sigma'</span><span data-if="c" style="display:none">"derivative_sigma"</span><span data-if="cpp" style="display:none">"derivative_sigma"</span><span data-if="com" style="display:none">"derivative_sigma"</span><span data-if="dotnet" style="display:none">"derivative_sigma"</span><span data-if="python" style="display:none">"derivative_sigma"</span>, <span data-if="hdevelop" style="display:inline">'min_gray_difference'</span><span data-if="c" style="display:none">"min_gray_difference"</span><span data-if="cpp" style="display:none">"min_gray_difference"</span><span data-if="com" style="display:none">"min_gray_difference"</span><span data-if="dotnet" style="display:none">"min_gray_difference"</span><span data-if="python" style="display:none">"min_gray_difference"</span>, <span data-if="hdevelop" style="display:inline">'min_stripe_width'</span><span data-if="c" style="display:none">"min_stripe_width"</span><span data-if="cpp" style="display:none">"min_stripe_width"</span><span data-if="com" style="display:none">"min_stripe_width"</span><span data-if="dotnet" style="display:none">"min_stripe_width"</span><span data-if="python" style="display:none">"min_stripe_width"</span>, <span data-if="hdevelop" style="display:inline">'normalization'</span><span data-if="c" style="display:none">"normalization"</span><span data-if="cpp" style="display:none">"normalization"</span><span data-if="com" style="display:none">"normalization"</span><span data-if="dotnet" style="display:none">"normalization"</span><span data-if="python" style="display:none">"normalization"</span>, <span data-if="hdevelop" style="display:inline">'pattern_height'</span><span data-if="c" style="display:none">"pattern_height"</span><span data-if="cpp" style="display:none">"pattern_height"</span><span data-if="com" style="display:none">"pattern_height"</span><span data-if="dotnet" style="display:none">"pattern_height"</span><span data-if="python" style="display:none">"pattern_height"</span>, <span data-if="hdevelop" style="display:inline">'pattern_orientation'</span><span data-if="c" style="display:none">"pattern_orientation"</span><span data-if="cpp" style="display:none">"pattern_orientation"</span><span data-if="com" style="display:none">"pattern_orientation"</span><span data-if="dotnet" style="display:none">"pattern_orientation"</span><span data-if="python" style="display:none">"pattern_orientation"</span>, <span data-if="hdevelop" style="display:inline">'pattern_type'</span><span data-if="c" style="display:none">"pattern_type"</span><span data-if="cpp" style="display:none">"pattern_type"</span><span data-if="com" style="display:none">"pattern_type"</span><span data-if="dotnet" style="display:none">"pattern_type"</span><span data-if="python" style="display:none">"pattern_type"</span>, <span data-if="hdevelop" style="display:inline">'pattern_width'</span><span data-if="c" style="display:none">"pattern_width"</span><span data-if="cpp" style="display:none">"pattern_width"</span><span data-if="com" style="display:none">"pattern_width"</span><span data-if="dotnet" style="display:none">"pattern_width"</span><span data-if="python" style="display:none">"pattern_width"</span>, <span data-if="hdevelop" style="display:inline">'persistence'</span><span data-if="c" style="display:none">"persistence"</span><span data-if="cpp" style="display:none">"persistence"</span><span data-if="com" style="display:none">"persistence"</span><span data-if="dotnet" style="display:none">"persistence"</span><span data-if="python" style="display:none">"persistence"</span>, <span data-if="hdevelop" style="display:inline">'single_stripe_width'</span><span data-if="c" style="display:none">"single_stripe_width"</span><span data-if="cpp" style="display:none">"single_stripe_width"</span><span data-if="com" style="display:none">"single_stripe_width"</span><span data-if="dotnet" style="display:none">"single_stripe_width"</span><span data-if="python" style="display:none">"single_stripe_width"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="GenParamValue" class="parname"><b><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></b> (input_control)  </span><span>attribute.value(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[Union[int, float, str]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer / </span><span data-if="hdevelop" style="display:inline">real / </span><span data-if="hdevelop" style="display:inline">string)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long / </span><span data-if="dotnet" style="display:none">double / </span><span data-if="dotnet" style="display:none">string)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i> / </span><span data-if="cpp" style="display:none">double / </span><span data-if="cpp" style="display:none">HString)</span><span data-if="c" style="display:none"> (<i>Hlong</i> / </span><span data-if="c" style="display:none">double / </span><span data-if="c" style="display:none">char*)</span></span>
</div>
<p class="pardesc">New value of the model parameter.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>32</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span>0, 0.01, 0.5, 0.7, 1, 1.4, 5, 50.0, 64, 128, 256, 1024, <span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span>, <span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span>, <span data-if="hdevelop" style="display:inline">'both'</span><span data-if="c" style="display:none">"both"</span><span data-if="cpp" style="display:none">"both"</span><span data-if="com" style="display:none">"both"</span><span data-if="dotnet" style="display:none">"both"</span><span data-if="python" style="display:none">"both"</span>, <span data-if="hdevelop" style="display:inline">'vertical'</span><span data-if="c" style="display:none">"vertical"</span><span data-if="cpp" style="display:none">"vertical"</span><span data-if="com" style="display:none">"vertical"</span><span data-if="dotnet" style="display:none">"vertical"</span><span data-if="python" style="display:none">"vertical"</span>, <span data-if="hdevelop" style="display:inline">'horizontal'</span><span data-if="c" style="display:none">"horizontal"</span><span data-if="cpp" style="display:none">"horizontal"</span><span data-if="com" style="display:none">"horizontal"</span><span data-if="dotnet" style="display:none">"horizontal"</span><span data-if="python" style="display:none">"horizontal"</span>, <span data-if="hdevelop" style="display:inline">'global'</span><span data-if="c" style="display:none">"global"</span><span data-if="cpp" style="display:none">"global"</span><span data-if="com" style="display:none">"global"</span><span data-if="dotnet" style="display:none">"global"</span><span data-if="python" style="display:none">"global"</span>, <span data-if="hdevelop" style="display:inline">'inverted_pattern'</span><span data-if="c" style="display:none">"inverted_pattern"</span><span data-if="cpp" style="display:none">"inverted_pattern"</span><span data-if="com" style="display:none">"inverted_pattern"</span><span data-if="dotnet" style="display:none">"inverted_pattern"</span><span data-if="python" style="display:none">"inverted_pattern"</span>, <span data-if="hdevelop" style="display:inline">'gray_code_and_phase_shift'</span><span data-if="c" style="display:none">"gray_code_and_phase_shift"</span><span data-if="cpp" style="display:none">"gray_code_and_phase_shift"</span><span data-if="com" style="display:none">"gray_code_and_phase_shift"</span><span data-if="dotnet" style="display:none">"gray_code_and_phase_shift"</span><span data-if="python" style="display:none">"gray_code_and_phase_shift"</span>, <span data-if="hdevelop" style="display:inline">'gray_code'</span><span data-if="c" style="display:none">"gray_code"</span><span data-if="cpp" style="display:none">"gray_code"</span><span data-if="com" style="display:none">"gray_code"</span><span data-if="dotnet" style="display:none">"gray_code"</span><span data-if="python" style="display:none">"gray_code"</span>, <span data-if="hdevelop" style="display:inline">'single_stripe'</span><span data-if="c" style="display:none">"single_stripe"</span><span data-if="cpp" style="display:none">"single_stripe"</span><span data-if="com" style="display:none">"single_stripe"</span><span data-if="dotnet" style="display:none">"single_stripe"</span><span data-if="python" style="display:none">"single_stripe"</span></p>
</div>
<h2 id="sec_example_all">例程 (HDevelop)</h2>
<pre class="example">
* Create the model
create_structured_light_model ('deflectometry', StructuredLightModel)
* Set the size of the monitor
set_structured_light_model_param (StructuredLightModel, \
                                  'pattern_width', 1600)
set_structured_light_model_param (StructuredLightModel, \
                                  'pattern_height', 1200)
* Set the smallest width of the stripes in the pattern
set_structured_light_model_param (StructuredLightModel, \
                                  'min_stripe_width', 8)
* Generate the patterns to project
gen_structured_light_pattern (PatternImages, StructuredLightModel)
* Set the expected black/white contrast in the region of interest
set_structured_light_model_param (StructuredLightModel, \
                                  'min_gray_difference', 70)
* Decode the camera images
decode_structured_light_pattern (CameraImages, StructuredLightModel)
* Get the computed correspondences and defects
get_structured_light_object (CorrespondenceImages, StructuredLightModel, \
                             'correspondence_image')
set_structured_light_model_param (StructuredLightModel, 'derivative_sigma', \
                                  Sigma)
get_structured_light_object (DefectImage, StructuredLightModel, \
                             'defect_image')
</pre>
<h2 id="sec_result">结果</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">set_structured_light_model_param</span><span data-if="c" style="display:none">set_structured_light_model_param</span><span data-if="cpp" style="display:none">SetStructuredLightModelParam</span><span data-if="com" style="display:none">SetStructuredLightModelParam</span><span data-if="dotnet" style="display:none">SetStructuredLightModelParam</span><span data-if="python" style="display:none">set_structured_light_model_param</span></code> 返回值
<TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
     if the given parameters are valid and within acceptable range.
Otherwise, an exception will be raised.</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="create_structured_light_model.html"><span data-if="hdevelop" style="display:inline">create_structured_light_model</span><span data-if="c" style="display:none">create_structured_light_model</span><span data-if="cpp" style="display:none">CreateStructuredLightModel</span><span data-if="com" style="display:none">CreateStructuredLightModel</span><span data-if="dotnet" style="display:none">CreateStructuredLightModel</span><span data-if="python" style="display:none">create_structured_light_model</span></a></code>
</p>
<h2 id="sec_see">参考其它</h2>
<p>
<code><a href="get_structured_light_model_param.html"><span data-if="hdevelop" style="display:inline">get_structured_light_model_param</span><span data-if="c" style="display:none">get_structured_light_model_param</span><span data-if="cpp" style="display:none">GetStructuredLightModelParam</span><span data-if="com" style="display:none">GetStructuredLightModelParam</span><span data-if="dotnet" style="display:none">GetStructuredLightModelParam</span><span data-if="python" style="display:none">get_structured_light_model_param</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
3D Metrology</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
